{\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410
{\fonttbl\f0\fmodern\fcharset77 Courier;}
{\colortbl;\red255\green255\blue255;}
\margl1440\margr1440\vieww12240\viewh14180\viewkind1\viewscale100
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural\pardirnatural

\f0\fs24 \cf0 DONE:\
\
1. spec and implement SHOULD_EQUAL\
\
2. spec and implement SHOULD_NOT_EQUAL\
\
3. spec and implement SHOULD_BE_LESS_THAN\
\
4. spec and implement SHOULD_BE_GREATER_THAN\
\
5. spec and implement FAIL\
\
6. make sure relational-checking code already implemented only uses the operator \
				being checked. \
\
6.1  DECLARE_SPEC  macro\
\
7. spec and implment the THIS_CODE / SHOULD_THROW code.\
\
8. buff up the specs for the absense of string output for success.\
\
9. clean up naming of specs (half of them are using 'inverted logic' names).\
\
10. spec and implement SHOULD_BE_LESS_THAN_OR_EQUAL_TO.\
\
11. spec and implement SHOULD_BE_GREATER_THAN_OR_EQUAL_TO.\
\
12. spec and implement SHOULD_CONTAIN, SHOULD_NOT_CONTAIN for vector and other container types\
\
13. spec and implement all the comparison macros/support for 'float' and 'double'\
--  SHOULD_BE_BETWEEN(x,y) / SHOULD_NOT_BE_BETWEEN\
\
--  SHOULD_BE_CLOSE_TO(x,dx) / SHOULD_NOT_BE_CLOSE_TO\
\
--  SHOULD_BE_WITHIN(x,y)\
\
--  SHOULD_NOT_BE_WITHIN\
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural\pardirnatural

\fs26 \cf0 \
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural\pardirnatural

\fs24 \cf0 NOT DO DO: 15. can we implement 'NOT', 'OR', and 'AND' macros/methods?  Should we?\
\
NOT TO DO:  21. Try Composite-Pattern "semi-natural syntax"\
\
  ((VALUE(12).should_be > 5 ).AND() <= 7 );\
  ((VALUE(12).should_be < 5 ).OR() >= 7;\
\
  ((VALUE(12).should_be > 5 ).AND( it.is <= 7 );\
  ((VALUE(12).should_be < 5 ).OR( it.is >= 7 );\
\
14. spec and implement SHOULD_BE_NULL, SHOULD_NOT_BE_NULL for pointer types.\
\
15. automatic adding of specs to a list of specs to be running ( IMPLEMENT_SPEC macro, static variables, spec-runner )\
\
16. macro for DECLARE_CONTEXT  --  a context used by more than one spec\
\
16.1 SHOULD_BE_TRUE / SHOULD_BE_FALSE\
\
17. add timing of individual specs\
\
18. timing of whole spec suite (and other results)\
\
20. listener "hears" each spec starting, failure messages, spec ending, whether spec passed or failed, and what percentage of specs have been run so far.\
	(refactor all output to go through a listener)\
\
21. specs can be run in fast-only mode, or not-yet-run-first mode\
\
22. Text UI to turn on/off individual specs, run selected specs, run all specs.\
	-- RUN FAST specs 		- [done]\
	-- RUN SLOW specs 		- [done]\
	-- RUN NEW specs 		- [done]\
	-- summary 			- [done]\
	-- quit/exit 			- [done]\
	-- select specs \
		-- select name		- [done]\
		-- select name-name	- [to do]\
		-- select name, name	- [to do]\
	-- clear select			- [to do]\
	-- run selected specs 	- [to do]\
\
	ConsoleRunner needs to report failures!\
\
}